"""
字符串处理工具模块。
"""

import re


def truncate_reverse_filter(text: str, max_length: int = 60) -> str:
    """
    从字符串末尾开始截取指定长度,超出部分用...替代。
    
    Args:
        text: 要处理的字符串
        max_length: 最大长度,默认60
        
    Returns:
        处理后的字符串
    """
    if len(text) <= max_length:
        return text

    if max_length <= 3:
        return text[-max_length:]

    return '...' + text[-(max_length - 3):]


def camel_case_filter(s: str) -> str:
    """
    将下划线分隔的字符串转换为驼峰格式。
    
    Args:
        s: 要转换的字符串
        
    Returns:
        驼峰格式的字符串
    """
    if re.match(r'^[a-z]+(?:[A-Z][a-z]*)*$', s):
        return s

    parts = s.split('_')
    return parts[0].lower() + ''.join(word.capitalize() for word in parts[1:]) 